package com.kabongos.facade;

import java.util.List;

import com.kabongos.daos.DaoClube;
import com.kabongos.daos.DaoEstadio;
import com.kabongos.daos.DaoJogador;
import com.kabongos.daos.DaoTecnico;
import com.kabongos.sources.Clube;
import com.kabongos.sources.Estadio;
import com.kabongos.sources.Jogador;
import com.kabongos.sources.Tecnico;

public class Facade {
    
    /** Camada de negocios CLUBE
     */
    
    public void cadastraClube(Clube clube) {
        DaoClube daoClube = new DaoClube();
        daoClube.cadastra(clube);
    }
    
    public void atualizaClube(Clube clube) {
        DaoClube daoClube = new DaoClube();
        daoClube.atualiza(clube);
    }
    
    public void excluiClube(Clube clube) {
        DaoClube daoClube = new DaoClube();
        daoClube.exclui(clube);
    }
    
    public List<Clube> recuperaClube() {
        DaoClube daoClube = new DaoClube();
        return daoClube.recupera(); 
    }
    
    public Clube recuperaClube(long matricula) {
        DaoClube daoClube = new DaoClube();
        return daoClube.recupera(matricula);
    }
    
    
    /** Camada de negocios JOGADOR
     */
    
    public void cadastraJogador(Jogador jogador) {
        DaoJogador daoJogador = new DaoJogador();
        daoJogador.cadastra(jogador);
    }
    
    public void atualizaJogador(Jogador jogador) {
        DaoJogador daoJogador = new DaoJogador();
        daoJogador.atualiza(jogador);
    }
    
    public void excluiJogador(Jogador jogador) {
        DaoJogador daoJogador = new DaoJogador();
        daoJogador.exclui(jogador);
    }
    
    public List<Jogador> recuperaJogador() {
        DaoJogador daoJogador = new DaoJogador();
        return daoJogador.recupera(); 
    }
    
    public Jogador recuperaJogador(long matricula) {
        DaoJogador daoJogador = new DaoJogador();
        return daoJogador.recupera(matricula);
    }
    
    /** Camada de negocios TECNICO **/
    
    public void cadastraTecnico(Tecnico tecnico) {
        DaoTecnico daoTecnico = new DaoTecnico();
        daoTecnico.cadastra(tecnico);
    }
    
    public void atualizaTecnico(Tecnico tecnico) {
        DaoTecnico daoTecnico = new DaoTecnico();
        daoTecnico.atualiza(tecnico);
    }
    
    public void excluiTecnico(Tecnico tecnico) {
        DaoTecnico daoTecnico = new DaoTecnico();
        daoTecnico.exclui(tecnico);
    }
    
    public List<Tecnico> recuperaTecnico() {
        DaoTecnico daoTecnico = new DaoTecnico();
        return daoTecnico.recupera(); 
    }
    
    public Tecnico recuperaTecnico(long matricula) {
        DaoTecnico daoTecnico = new DaoTecnico();
        return daoTecnico.recupera(matricula);
    }
    
/** Camada de negocios ESTADIO **/
    
    public void cadastraEstadio(Estadio estadio) {
        DaoEstadio daoEstadio = new DaoEstadio();
        daoEstadio.cadastra(estadio);
    }
    
    public void atualizaEstadio(Estadio estadio) {
        DaoEstadio daoEstadio = new DaoEstadio();
        daoEstadio.atualiza(estadio);
    }
    
    public void excluiEstadio(Estadio estadio) {
        DaoEstadio daoEstadio = new DaoEstadio();
        daoEstadio.exclui(estadio);
    }
    
    public List<Estadio> recuperaEstadio() {
        DaoEstadio daoEstadio = new DaoEstadio();
        return daoEstadio.recupera(); 
    }
    
    public Estadio recuperaEstadio(long matricula) {
        DaoEstadio daoEstadio = new DaoEstadio();
        return daoEstadio.recupera(matricula);
    }


}
